package com.imooc.uaa.reository;

import com.imooc.uaa.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
public interface UserRepo extends JpaRepository<User, Long> {
    /**
     * 根据用户名查询用户
     *
     * @param username 用户名
     * @return 可能为空的用户
     */
    Optional<User> findOptionalByUsername(String username);

    /**
     * 根据邮箱查询用户
     *
     * @param email 邮箱地址
     * @return 肯能有空的用户
     */
    Optional<User> findOptionalByEmail(String email);

    /**
     * 查找用户名数量
     *
     * @param username 用户名
     * @return 数量
     */
    long countByUsername(String username);

    /**
     * 查找邮箱数量
     *
     * @param email 邮箱
     * @return 数量
     */
    long countByEmail(String email);

    /**
     * 查找手机数量
     *
     * @param mobile 手机号码
     * @return 数量
     */
    long countByMobile(String mobile);
}
